home *** CD-ROM | disk | FTP | other *** search
File List | 1995-08-15 | 2.4 KB | 120 lines |
- ' tile1
- ' Programmed by Seymour Shlien in GFA Basic 3.5
- ' 624 Courtenay Avenue
- ' Ottawa, Ontario
- ' Canada, K2A 3B5
- ' Feb 21 1993
- DIM deskcolors%(16)
- DIM xbs_files$(25)
- rez%=XBIOS(4)
- IF rez%<>0
- ALERT 3," Please switch to | low resolution! ",1,"Oops",b%
- STOP
- ENDIF
- @get_deskcolors
- @set_standard_colors
- nx_grid%=30
- ny_grid%=24
- nx_space%=10
- ny_space%=6
- x_left%=10
- x_right%=x_left%+nx_grid%*nx_space%
- y_top%=24
- y_bot%=y_top%+ny_grid%*ny_space%
- ix_repeat%=6
- iy_repeat%=6
- col%=1
- @color_bar
- @draw_grid
- REPEAT
- IF MOUSEK=1
- IF MOUSEY>20
- ix%=((MOUSEX-x_left%)/nx_space%) MOD ix_repeat%
- iy%=((MOUSEY-y_top%)/ny_space%) MOD iy_repeat%
- @put_tiles(ix%,iy%,col%)
- PAUSE 5
- ELSE IF MOUSEX<180
- col%=MOUSEX/20
- ELSE IF MOUSEX<230
- DEFFILL 8
- PBOX x_left%,y_top%,x_right%,y_bot%
- @draw_grid
- PAUSE 20
- ENDIF
- ENDIF
- UNTIL ((MOUSEK=1) AND (MOUSEX>230) AND (MOUSEY<20))
- @restore_deskcolors
- PROCEDURE draw_grid
- FOR i%=0 TO nx_grid%
- LINE x_left%+i%*nx_space%,y_top%,x_left%+i%*nx_space%,y_bot%
- NEXT i%
- FOR i%=0 TO ny_grid%
- LINE x_left%,y_top%+i%*ny_space%,x_right%,y_top%+i%*ny_space%
- NEXT i%
- RETURN
- > PROCEDURE put_tiles(ix%,iy%,col%)
- DEFFILL col%
- i_stop%=(nx_grid%-1)/ix_repeat%
- j_stop%=(ny_grid%-1)/iy_repeat%
- FOR i%=0 TO i_stop%
- FOR j%=0 TO j_stop%
- i1%=i%*nx_space%*ix_repeat%+x_left%+ix%*nx_space%
- i2%=i1%+nx_space%-1
- j1%=j%*ny_space%*iy_repeat%+y_top%+iy%*ny_space%
- j2%=j1%+ny_space%-1
- PBOX i1%,j1%,i2%,j2%
- NEXT j%
- NEXT i%
- RETURN
- > PROCEDURE color_bar
- CLS
- FOR i=1 TO 8
- DEFFILL i
- PBOX i*20,8,(i+1)*20,16
- BOX i*20,8,(i+1)*20,16
- NEXT i
- DEFTEXT 1
- BOX 182,6,228,16
- TEXT 184,14,"CLEAR"
- BOX 228,6,270,16
- TEXT 230,14,"QUIT"
- DEFFILL 8
- PBOX 0,20,319,199
- DEFMOUSE 0
- RETURN
- > PROCEDURE get_deskcolors
- LOCAL i%
- FOR i%=0 TO 15
- deskcolors%(i%)=XBIOS(7,i%,-1)
- NEXT i%
- RETURN
- > PROCEDURE restore_deskcolors
- LOCAL i%
- FOR i%=0 TO 15
- SETCOLOR i%,deskcolors%(i%)
- NEXT i%
- RETURN
- > PROCEDURE set_standard_colors
- LOCAL i%,j%
- FOR i%=0 TO 15
- READ j%
- SETCOLOR i%,j%
- NEXT i%
- DATA 4095
- DATA 3840
- DATA 240
- DATA 4080
- DATA 15
- DATA 3855
- DATA 255
- DATA 1365
- DATA 819
- DATA 3891
- DATA 1011
- DATA 4083
- DATA 831
- DATA 3901
- DATA 1023
- DATA 0
- RETURN
-